<?php
/**
 * alltosun.com 邮件模块公用函数库 mail_helper.php
 * ============================================================================
 * 版权所有 (C) 2009-2011 北京互动阳光科技有限公司，并保留所有权利。
 * 网站地址: http://www.alltosun.com
 * ----------------------------------------------------------------------------
 * 许可声明：这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
 * ============================================================================
  * $Author: 张元昊 (zhangyh@alltosun.com) $
 * $Date: 2015-03-22 15:50:19 $
*/


class mail_helper
{

	/**
     * 发邮件
     * @param string $content_type TEXT|HTML
     */
    public static function mail($to, $title, $content, $content_type = 'TEXT', $charset = 'utf8')
    {
        $content_type = strtoupper($content_type);

        // 获取一个随机的账号
        $rand_key = array_rand(mail_config::$mall_account_list);
        $mail_account = mail_config::$mall_account_list[$rand_key];
        if(!$mail_account) {
            throw new AnMessageException("mail account not available");
        }

        // 非sae
        // 实例化phpmailer
        $mail = new PHPMailer;

        //$mail->SMTPDebug = 3;

        // 设置发送邮件的协议：SMTP
        $mail->IsSMTP();
        // 发送邮件的服务器
        $mail->Host = $mail_account['smtp_host'];
        // 打开SMTP
        $mail->SMTPAuth = true;
        // SMTP账户
        $mail->Username = $mail_account['email'];
        // SMTP密码
        $mail->Password = $mail_account['password'];
        // $mail->Port = 465;

        //是否使用HTML格式
        if($content_type == 'HTML') {
            $mail->IsHTML(true);
        }

        $mail->From = $mail_account['email'];
        $mail->FromName = "联想NBD官网";
        $mail->AddAddress("$to", "");
        //设置字符集编码
        if($charset != 'utf8') {
            $mail->CharSet = $charset;
        } else {
            $mail->CharSet = "UTF-8";
        }

        $mail->Subject = "=?UTF-8?B?".base64_encode($title)."?=";
        // var_dump($title);
        // exit;
        //邮件内容（可以是HTML邮件）
        $mail->Body = $content;
        $mail->AltBody = "";

        if (!$mail->Send()) {
            if(D_BUG) var_dump($mail);
            return false;
        } else {
            return true;
        }

    }

}